In computing systems, a file system is used to control how data is stored and retrieved. The file system manages user data in storage media. There are many different kinds of file systems, for example, disk file systems, network file systems, and special-purpose file systems. Each one may have different structure and logic, properties of speed, flexibility, security, size and more. A file system involves various aspects including e.g., space management, maintaining integrity.
Most file systems are designed for personal computer (PC)-class systems. Generally, there are two main file system requirements for PC-class systems, reliability and read/write throughput. Reliability keeps data safe with guaranteed consistency and durability. Reliability particularly relates to data loss in case of an unexpected system crash (e.g., power failure). Read/write throughput relates to the input/output (I/O) responsiveness of user applications.